package com.biblioteca.servicio;

import com.biblioteca.dao.*;
import com.biblioteca.persistencia.*;
import java.util.Collection;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Required;
import org.springframework.stereotype.Service;



@Service
public class NoticiaServivioImplementacion implements NoticiaServicio{

    private NoticiaDao noticiaDao;

    @Autowired
    @Required
    public void setNoticia(final NoticiaDao noticiaDao) {
        this.noticiaDao = noticiaDao;
    }

    @Override
    public void crearNoticia(Noticia noticia) {
        noticiaDao.insert(noticia);
    }

    @Override
    public void borrarNoticia(Long idNoticia) {
        Noticia borraNoticia=noticiaDao.findByPK(Noticia.class, idNoticia);
        noticiaDao.remove(borraNoticia);
    }

    @Override
    public Collection<Noticia> getAllNoticias() {
        return noticiaDao.getNoticiasOrdenadas();
    }

    //@PostConstruct
    @Override
    public void cargaInicial() {
        noticiaDao.removeAll(Noticia.class);
        Noticia n1 = new Noticia("Caida de Ventas","actualmente se venden pocos libros");           
        noticiaDao.insert(n1);     
    }

    @Override
    public void borrar(Noticia noticia) {
        Noticia noty = noticiaDao.findByPK(Noticia.class, noticia.getId());
        noticiaDao.remove(noty);
    }
    
}
